package com.shensi.adminCollect.domain.station.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shensi.adminCollect.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description finance_statements_station
 * @author
 * @date 2023-07-04
 */
@Getter
@Setter
@ApiModel("finance_statement")
public class FinanceStatement implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 油站id
     */
    @ApiModelProperty("油站id")
    private Long stationId;

    /**
     * 油企id
     */
    @ApiModelProperty("油企id")
    private Long enterpriseId;

    /**
     * 统计日期
     */
    @ApiModelProperty("统计日期")
    @Excel(name = "统计日期",dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GTM+8")
    private LocalDateTime countDate;

    /**
     * 加油应付金额
     */
    @ApiModelProperty("加油应付金额")
    @Excel(name="加油应付金额")
    private BigDecimal oilPayableAmount;

    /**
     * 加油优惠金额
     */
    @ApiModelProperty("加油优惠金额")
    @Excel(name="加油优惠金额")
    private BigDecimal oilDiscountAmount;

    /**
     * 加油余额支付
     */
    @ApiModelProperty("加油余额支付")
    @Excel(name="加油余额支付")
    private BigDecimal oilBalancePaymentAmount;

    /**
     * 加油提现金额
     */
    @ApiModelProperty("加油提现金额")
    @Excel(name="加油提现金额")
    private BigDecimal oilWithdrawalAmount;

    /**
     * 非油应付金额
     */
    @ApiModelProperty("非油应付金额")
    @Excel(name="非油应付金额")
    private BigDecimal notOilPayableAmount;

    /**
     * 非油优惠金额
     */
    @ApiModelProperty("非油优惠金额")
    @Excel(name="非油优惠金额")
    private BigDecimal notOilDiscountAmount;

    /**
     * 非油提现金额
     */
    @ApiModelProperty("非油提现金额")
    @Excel(name="非油提现金额")
    private BigDecimal notOilWithdrawalAmount;

    /**
     * 使用积分
     */
    @ApiModelProperty("使用积分")
    @Excel(name="使用积分")
    private Integer integralPayAmount;

    /**
     * 充值金额
     */
    @ApiModelProperty("充值金额")
    @Excel(name="充值金额")
    private BigDecimal chargeAmount;

    /**
     * 充值赠送金额
     */
    @ApiModelProperty("充值赠送金额")
    @Excel(name="充值赠送金额")
    private BigDecimal chargeGiveAmount;

    /**
     * 充值提现金额
     */
    @ApiModelProperty("充值提现金额")
    @Excel(name="充值提现金额")
    private BigDecimal chargeWithdrawalAmount;

    /**
     * 收款码金额
     */
    @ApiModelProperty("收款码金额")
    @Excel(name="收款码金额")
    private BigDecimal qrCodeAmount;

    /**
     * 收款码提现
     */
    @ApiModelProperty("收款码提现")
    @Excel(name="收款码提现")
    private BigDecimal qrCodeWithdrawalAmount;

    /**
     * 现金收款
     */
    @ApiModelProperty("现金收款")
    @Excel(name="现金收款")
    private BigDecimal cashAmount;

    /**
     * 获得总积分
     */
    @ApiModelProperty("获得总积分")
    @Excel(name="获得总积分")
    private BigDecimal integralAmount;

    /**
     * 提现金额
     */
    @ApiModelProperty("提现金额")
    @Excel(name="提现金额")
    private BigDecimal withdrawalAmount;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @ApiModelProperty("更新人")
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;

    /**
     * 是否删除 1是 0 否
     */
    @ApiModelProperty("是否删除 1是 0 否")
    @TableLogic(value = "0",delval = "1")
    private String delFlag;
}
